package com.hyst.service;

import java.util.List;
import java.util.Map;

import com.github.pagehelper.Page;
import com.hyst.common.ResultBean;
import com.hyst.domain.PeriodEdits;
import com.hyst.domain.TeacherPeriod;
import com.hyst.domain.TeacherPeriodUsed;
import com.hyst.domain.TeacherPeriodUsedCusmom;
import com.hyst.domain.TeacherSchedule;

/**
 * @Description:Service
 * @author：dy 
 * @Date：2018年08月25日
 */

public interface TeacherPeriodService {

	/**
	 * @return Page<TeacherPeriod>
	 */
	Page<TeacherPeriod> list(TeacherPeriod teacherPeriod);

	/**
	 * 用于查询学生试听时间的查询列表
	 */
	Page<TeacherPeriodUsed> getPeriodUsedlist(TeacherPeriodUsed teacherPeriodUsed);

	/**
	 * @return TeacherPeriod
	 */
	TeacherPeriod insert(TeacherPeriod teacherPeriod);

	/**
	 * @return TeacherPeriod
	 */
	TeacherPeriod getByPriKey(Integer id);

	/**
	 * @return TeacherPeriod
	 */
	TeacherPeriod updateSelective(TeacherPeriod teacherPeriod);

	/**
	 * @return TeacherPeriod
	 */
	TeacherPeriod update(TeacherPeriod teacherPeriod);

	/**
	 * @return TeacherPeriod
	 */
	TeacherPeriod delete(Integer id);

	/**
	 * @param list void
	 */
	int save(String teacherId, List<TeacherPeriod> list);

	String savePeriodUsed(String teacherId, List<TeacherPeriodUsedCusmom> list);

	/**
	 * @param map
	 * @Description: 根據教師UID、年、月獲取日程
	 * @return Page<TeacherSchedule>
	 */
	Page<TeacherSchedule> getTeacherSchedules(TeacherSchedule ts);

	/**
	 * @param periodEdits void
	 */
	int savePeriods(PeriodEdits periodEdits);

	String savePeriodFormUsed(String teacherId, List<TeacherPeriodUsedCusmom> list);

	Page<TeacherPeriodUsed> getPeriodUsedFormal(TeacherPeriodUsed teacherPeriodUsed);

	String getAuditionTime(String studentId,String teacherid);

	ResultBean<List<List<TeacherPeriod>>> teacherPeriods(TeacherPeriod teacherPeriod);
}